package zpe.controledeacesso.jsf.view.bean;


import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;

import zpe.controledeacesso.model.bean.TipoUnidadeTrabalho;
import zpe.controledeacesso.model.bean.UnidadeTrabalho;
import zpe.controledeacesso.service.UnidadeTrabalhoService;
import zpe.genericcrud.jsf.view.bean.AbstractCrudBean;
import zpe.genericcrud.service.Service;

@ManagedBean(name="unidadeTrabalhoBean")
@ViewScoped
public class UnidadeTrabalhoBean extends
		AbstractCrudBean<UnidadeTrabalho, UnidadeTrabalhoService> {

		@ManagedProperty("#{unidadeTrabalhoService}")
		protected Service service;
		
		@Override
		public void setService(UnidadeTrabalhoService service) {
			super.setService(service);
		}
	
		public List<SelectItem> getCredes() {
	    
	        List<SelectItem> credes = new ArrayList<SelectItem>();
	        
	        List<UnidadeTrabalho> list = new ArrayList<UnidadeTrabalho>();
	        
	        UnidadeTrabalho u = new UnidadeTrabalho();
	        TipoUnidadeTrabalho tipoUnidadeTrabalho = new TipoUnidadeTrabalho();
	        tipoUnidadeTrabalho.setId(2);
	        u.setTipo(tipoUnidadeTrabalho);
	        list = getService().findByFilter(UnidadeTrabalho.class, u.notEmptyFields());
	        
	        for(UnidadeTrabalho unidade : list){
	            SelectItem select = new SelectItem(unidade.getId(), unidade.getId() +" - "+ unidade.getDescricao());
	            credes.add(select);
	        }
	        
	        return credes;
        
    }


}
